﻿Public Class Cuenta
    Dim rs As ADODB.Recordset 'CREAR UN OBJETO RS  DE  TIPO ADO 
    Dim sql As String ' CREAMOS UN DATO SQL DE TIPO CADENA
    Dim TOTAL_valor As Double = 0
    Private Sub btnCancelar_deuda_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar_deuda.Click
        'LLAMAR A TODAS LAS TABLAS POR EL CODIGO DEL CLIENTE
        'Imprimir reporte
        CANCELARHABITACION(txtCodigo.Text)
        CANCELARLAVANDERIA(txtCodigo.Text)
        CANCELARRECEPCION(txtCodigo.Text)
        CANCELARRESTAURANTE(txtCodigo.Text)
        CANCELARJUEGOS(txtCodigo.Text)
    End Sub
    Public Sub CANCELARHABITACION(ByVal Texto As String)
        sql = "UPDATE [REGISTRO_HABITACION] SET CANCELADO = 'SI' WHERE (CODI_CLIEN = '" & Texto & "')" 'NOS PERMITE ACTUALIZAR EL REQUERIMIENTO 
        rs = coneccion.Execute(sql) 'PERMITE EJECUTAR LA CONECCION
    End Sub
    Public Sub CANCELARLAVANDERIA(ByVal Texto As String)
        sql = "UPDATE [REGISTRO LAVANDERIA] SET CANCELADO = 'SI' WHERE ([REGISTRO LAVANDERIA].CODI_CLIEN = '" & Texto & "')" 'NOS PERMITE ACTUALIZAR EL REQUERIMIENTO
        rs = coneccion.Execute(sql) 'PERMITE EJECUTAR LA CONECCION
    End Sub
    Public Sub CANCELARRECEPCION(ByVal Texto As String)
        sql = "UPDATE [REGISTRO RECEPCION] SET CANCELADO = 'SI' WHERE (CODI_CLIEN = '" & Texto & "')" 'NOS PERMITE ACTUALIZAR EL REQUERIMIENTO
        rs = coneccion.Execute(sql) 'PERMITE EJECUTAR LA CONECCION
    End Sub
    Public Sub CANCELARRESTAURANTE(ByVal Texto As String)
        sql = "UPDATE [REGISTRO RESTAURANTE] SET CANCELADO = 'SI' WHERE (CODI_CLIEN = '" & Texto & "')" 'NOS PERMITE ACTUALIZAR EL REQUERIMIENTO
        rs = coneccion.Execute(sql) 'PERMITE EJECUTAR LA CONECCION
    End Sub
    Public Sub CANCELARJUEGOS(ByVal Texto As String)
        sql = "UPDATE REGISTRO_JUEGO SET CANCELADO = 'SI' WHERE (CODI_CLIEN = '" & Texto & "')" 'NOS PERMITE ACTUALIZAR EL REQUERIMIENTO
        rs = coneccion.Execute(sql) 'PERMITE EJECUTAR LA CONECCION
    End Sub
    Private Sub btnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalir.Click
        Me.Dispose() 'PERMITE BORRAR LOS DATOS INGRESADOS Y NOS PERMITE SALIR DE LA APLICACION ACTUAL
    End Sub

    Private Sub Cuenta_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.DoubleClick
        llenar(Resultado) 'NOS PERMITE LLENAR TODOS LOS CAMPOS REQUERIDOS SI EL USUARIO EXISTE HACIENDO DOBLE CLICK
    End Sub

    Private Sub Cuenta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        conectar() 'NOS PERMITE INICIALIZAR LA CONECCION
    End Sub

    Private Sub btnVerificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerificar.Click
        Dim mostrar As New Resultados(txtAPaterno.Text, txtAMaterno.Text, txtNombre.Text, txtCodigo.Text) ' CREAMOS UN VALOR  LLAMADO MOSTRAR QUE OBTENDRA TODOS LOS DATOS INGRESADOS DENTRO DEL METODO RESULTADO Y VERIFICARA SI LOS DATOS ESTAN INGRESADOS
        mostrar.Show() 'PERMITE MOSTRAR LA VERIFICAION
    End Sub
    Public Sub llenar(ByVal Resultado As String)
        sql = "SELECT CODI_CLIEN, NOMB_CLIEN, PATE_CLIEN, MATE_CLIEN  FROM CLIENTE WHERE (CODI_CLIEN = '" & Resultado & "')" 'SELECCIONA TODOS LOS CAMPO REUQERIDOS DE LA TABLA CLIENTE PARA UNA RESPECTIVA CONSULTA 
        rs = coneccion.Execute(sql) 'PERMITE EJECUTAR LA CONECCION
        txtNombre.Text = rs.Fields(1).Value 'RETORNA EL VALOR DE LA COLUMNA1
        txtAPaterno.Text = rs.Fields(2).Value 'RETORNA EL VALOR DE LA COLUMNA2
        txtAMaterno.Text = rs.Fields(3).Value 'RETORNA EL VALOR DE LA COLUMNA3
        txtCodigo.Text = rs.Fields(0).Value 'RETORNA EL VALOR DE LA COLUMNA0
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        ''buscar ent todos los registros
        LLAMARHABITACION(txtCodigo.Text)
        LLAMARLAVANDERIA(txtCodigo.Text)
        LLAMARRECEPCION(txtCodigo.Text)
        LLAMARRESTAURANTE(txtCodigo.Text)
        LLAMARJUEGOS(txtCodigo.Text)
        ''HACER TOTALES
        For i As Integer = 0 To TablaTotal.RowCount - 1 'PERMITE EVALUAR UN BUCLE PARA VERFICAR EL NUEMRO DE FILAS DE  NUESTRA TABLA
            TablaTotal(4, i).Value = CDbl(TablaTotal(2, i).Value) * CDbl(TablaTotal(3, i).Value) 'CREAMOS UNA SUMA PARA OBTENER EL VALOR DEL COSTO DE LA CUENTA
            TOTAL_valor = TOTAL_valor + CDbl(TablaTotal(4, i).Value) 'CREAMOS UN DATO PARA ALMACENAR EL COSTO DE LA CUENTA DE LA CUENTA DEACUERDO A NUESTRO INDICADOR O BUCLE(ITERATIVO)  
        Next
        txtMonto.Text = TOTAL_valor ' OBTENEMOS EL VALOR DEL MONOTO TOTAL DE LA CUENTA
    End Sub
    Public Sub LLAMARHABITACION(ByVal Texto As String)
        sql = "SELECT TIPO_HABITACION.TIPO_HABITACION, REGISTRO_HABITACION.FECHA_HABITA, TIPO_HABITACION.COSTO_HABITACION, " & _
        "REGISTRO_HABITACION.NUME_DIAS FROM ((REGISTRO_HABITACION INNER JOIN " & _
                      "HABITACION ON REGISTRO_HABITACION.CODI_HABI = HABITACION.CODI_HABI) INNER JOIN " & _
                      "TIPO_HABITACION ON HABITACION.CODIGO_TIPO = TIPO_HABITACION.CODIGO_TIPO) " & _
                      " WHERE (REGISTRO_HABITACION.CODI_CLIEN = '" & Texto & "') AND (CANCELADO = 'NO') "
        rs = coneccion.Execute(sql)
        If rs.EOF <> True Then
            rs.MoveFirst()
            TablaTotal.Rows.Add(rs.Fields(0).Value.ToString, rs.Fields(1).Value.ToString, rs.Fields(2).Value.ToString, rs.Fields(3).Value.ToString)
        End If
    End Sub
    Public Sub LLAMARLAVANDERIA(ByVal Texto As String)
        sql = "SELECT LAVANDERIA.CONCEPTO, [REGISTRO LAVANDERIA].FECHA_PEDIDO, LAVANDERIA.COSTO" & _
" FROM ([REGISTRO LAVANDERIA] INNER JOIN LAVANDERIA ON [REGISTRO LAVANDERIA].CODI_LAVAN = LAVANDERIA.CODI_LAVAN) " & _
" WHERE ([REGISTRO LAVANDERIA].CODI_CLIEN = '" & Texto & "') AND (CANCELADO = 'NO') "
        rs = coneccion.Execute(sql)
        While rs.EOF <> True
            If rs.EOF = True Then
                Exit While
            End If
            TablaTotal.Rows.Add(rs.Fields(0).Value.ToString, rs.Fields(1).Value.ToString, rs.Fields(2).Value.ToString, "1")
            rs.MoveNext()
        End While
    End Sub
    Public Sub LLAMARRECEPCION(ByVal Texto As String)
        sql = "SELECT RECEPCION.CONCEPTO, [TIPO EVENTO].DESCRIPCION, [REGISTRO RECEPCION].FECHA_PEDIDO, RECEPCION.COSTO, " & _
              "[TIPO EVENTO].[COSTO EXTRA] FROM (([REGISTRO RECEPCION] INNER JOIN " & _
              "RECEPCION ON [REGISTRO RECEPCION].CODI_RECEPCION = RECEPCION.CODI_RECEPCION) INNER JOIN " & _
              "[TIPO EVENTO] ON RECEPCION.CODI_EVENTO = [TIPO EVENTO].CODI_EVENTO) " & _
        " WHERE ([REGISTRO RECEPCION].CODI_CLIEN = '" & Texto & "') AND (CANCELADO = 'NO') "
        rs = coneccion.Execute(sql)
        Dim valor As Double
        While rs.EOF <> True
            If rs.EOF = True Then
                Exit While
            End If
            valor = CDbl(rs.Fields(3).Value) + CDbl(rs.Fields(4).Value)
            TablaTotal.Rows.Add(rs.Fields(0).Value.ToString & "," & rs.Fields(1).Value.ToString, rs.Fields(2).Value.ToString, valor.ToString)
            rs.MoveNext()
        End While
    End Sub
    Public Sub LLAMARRESTAURANTE(ByVal Texto As String)
        sql = "SELECT PLATOS.DESCRIPCION, [REGISTRO RESTAURANTE].FECHA_PEDIDO, PLATOS.COSTO" & _
" FROM ((PLATOS INNER JOIN TIPO_PLATO ON PLATOS.CODI_TIPO = TIPO_PLATO.CODI_TIPO) INNER JOIN" & _
                      "[REGISTRO RESTAURANTE] ON PLATOS.NUME_PLATOS = [REGISTRO RESTAURANTE].NUME_PLATO)" & _
" WHERE ([REGISTRO RESTAURANTE].CODI_CLIEN = '" & Texto & "') AND (CANCELADO = 'NO') "
        rs = coneccion.Execute(sql)
        While rs.EOF <> True
            If rs.EOF = True Then
                Exit While
            End If
            TablaTotal.Rows.Add(rs.Fields(0).Value.ToString, rs.Fields(1).Value.ToString, rs.Fields(2).Value.ToString)
            rs.MoveNext()
        End While
    End Sub
    Public Sub LLAMARJUEGOS(ByVal Texto As String)
        sql = "SELECT JUEGOS.DESCRIP, REGISTRO_JUEGO.FECHA_PEDIDO, JUEGOS.COSTO_JUEGO, REGISTRO_JUEGO.NUME_JUEGOS" & _
" FROM (JUEGOS INNER JOIN REGISTRO_JUEGO ON JUEGOS.CODI_JUEGO = REGISTRO_JUEGO.CODI_JUEGO)" & _
" WHERE (REGISTRO_JUEGO.CODI_CLIEN = '" & Texto & "') AND (CANCELADO = 'NO') "
        rs = coneccion.Execute(sql) '
        While rs.EOF <> True
            If rs.EOF = True Then
                Exit While
            End If
            TablaTotal.Rows.Add(rs.Fields(0).Value.ToString, rs.Fields(1).Value.ToString, rs.Fields(2).Value.ToString, rs.Fields(3).Value.ToString)
            rs.MoveNext()
        End While
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        txtCodigo.Text = "" 'PERMITE LIMPIAR EL TEXTO CODIGO
        txtAPaterno.Text = "" 'PERMITE LIMPIAR EL TEXTO APELLIDO PATERNO
        txtAMaterno.Text = "" 'PERMITE LIMPIAR EL TEXTO APELLIDO MATERNO
        txtNombre.Text = "" 'PERMITE LIMPIAR EL TEXTO NOMBRE
    End Sub
End Class